#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
void do_ls(char []);
int main(int argc, char *argv[])
{
	if ( argc == 1 )
	do_ls( "." );
	else
		while ( --argc ){
		printf("%s:\n", *++argv );
		do_ls( *argv );
						}

	return 0;
}

void do_ls( char dirname[] )
{
	DIR	*dir_ptr;	
	struct dirent	*direntp;	
	if ( ( dir_ptr = opendir( dirname ) ) == NULL )
	fprintf(stderr,"ls1: cannot open %s\n", dirname);
	else
	{
		while ( ( direntp = readdir( dir_ptr ) ) != NULL )
		printf("%s\n", direntp->d_name );
		closedir(dir_ptr);
    }	
} 
